package vista;

import java.awt.BorderLayout;
import java.util.ArrayList;
import java.util.Collection;

import javax.swing.JFrame;
import javax.swing.JPanel;

import modelo.Ciudad;
import modelo.JuegoObservable;


public class GameWindow extends JFrame {

	
	private static final long serialVersionUID = 1L;
	
	Collection<JPanel> panelesAbiertos;
	
	private Ciudad ciudadActual ;
	private JuegoObservable juego;
	private BarraDeOpciones menuDeOpciones;
	private PanelDeAcciones panelOpciones;
	private PanelPrincipal panelPrincipal;
   
	public GameWindow (JuegoObservable juegoIniciado){
    	
		super("**Carmen Sandiego**");
		inicializar();
	
		juego = juegoIniciado;
		ciudadActual = juegoIniciado.obtenerCiudadActualPolicia();
		

		menuDeOpciones = new BarraDeOpciones(juego);
		setJMenuBar(menuDeOpciones);
	   
	
		panelOpciones = new PanelDeAcciones(juego,this);	
		agregarPanel(panelOpciones,BorderLayout.PAGE_START);
	    
	    panelPrincipal = new PanelPrincipal(panelesAbiertos,ciudadActual);
		agregarPanel(panelPrincipal,null);
		

	}
	private void inicializar() {
		
		panelesAbiertos = new ArrayList<JPanel>();
		setSize(700,400);
		setResizable(false);
		setLocationRelativeTo(null);
	    setDefaultCloseOperation(0);
		setLayout(new BorderLayout());
		PanelOpcionesViajar.reiniciar();
		PanelOpcionesVisitar.reiniciar();
		
	}
	
	public void agregarAPanelesAbiertos (JPanel panelNuevo){
		panelesAbiertos.add(panelNuevo);
	}
	
	public void agregarPanel(JPanel panel, String formato){
		add(panel,formato);
	}
	public void ocultarPanelesAbiertos(){
		 for (JPanel panel: panelesAbiertos){
				panel.setVisible(false);
		}
	}
	public void cerrar(){
		setVisible(false);
	}
	public void abrir(){
		setVisible(true);
	}

	


}


